package cn.edu.zafu.bigdata.bd121.file;

import java.io.FileReader;
import java.io.FileWriter;

/**
 * 题目2：写入并读取文本文件
 * 描述：
 * 编写一个程序，将用户输入的文本保存到一个文件中（files目录下的学号文本文件，如files/2022010101.txt），然后读取并显示文件的内容。
 * 具体要求：
 * 写入文件：创建一个方法writeToFile(String fileName, String content)，将用户输入的文本写入到指定的文件中。
 * 读取文件：创建一个方法readFromFile(String fileName)，读取文件内容并将其打印到控制台。
 * 测试：在main方法中，提示用户输入文本，将其写入文件，然后读取并显示文件内容。
 *
 * @author 202211090121
 */
public class WriteFileDemo {

    private static void writeToFile(String fileName, String content) {
        try {
            // 打开文件
            FileWriter writer = new FileWriter(fileName);
            // 写入内容
            writer.write(content);
            // 关闭文件
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void readFromFile(String fileName) {
        try {
            // 打开文件
            FileReader reader = new FileReader(fileName);
            // 读取内容
            int c;
            while ((c = reader.read()) != -1) {
                System.out.print((char) c);
            }
            // 关闭文件
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        // 输入文本
        String content = "Hello, world!";
        // 写入文件
        String fileName = "src/main/java/cn/edu/zafu/bigdata/bd121/file/202211090121.txt";
        writeToFile(fileName, content);
        // 读取文件
        readFromFile(fileName);
    }
}
